package com.sky.config;

import com.sky.properties.AliOssProperties;
import com.sky.utils.AliOssUtils;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AliOssConfig {

    @Bean
    //这个注解是 Spring 提供的条件注解，表示仅在 Spring 容器中不存在相同类型的 Bean 时，
    // 才会创建并注册这个 Bean。这样做的目的可以防止 Bean 的重复定义。
    @ConditionalOnMissingBean
    public AliOssUtils aliOssUtils(AliOssProperties aliOssProperties) {
        return new AliOssUtils(aliOssProperties.getEndpoint(), aliOssProperties.getAccessKeyId(),
                aliOssProperties.getAccessKeySecret(), aliOssProperties.getBucketName());
    }
}
